// IWebManager.aidl
package com.sgcc.pda.web;
import com.sgcc.pda.web.IHttpCallbackInterface;
import com.sgcc.pda.web.IDownloadListener;
import com.sgcc.pda.web.IUploadListener;
// Declare any non-default types here with import statements


interface IWebManager {
    /**
     * 访问网络协议
     * broadcastName 获取结果广播名称
     * requestParams 请求参数——json格式
     *
     */
    void postData(String broadcastName,String methodName,String requestParams);


    /**
     * 访问自定义的url
     * broadcastName 获取结果广播名称
     * url 访问的地址
     */
    void requestCustomerUrl(String broadcastName,String url);


    /**
     * 下载文件-使用老的前置下载方式
     * @param context
     * @param type          0不使用进度参数  1使用进度参数
     * @param broadcastName
     * @param serverName
     * @param fileId
     * @param fileName
     */
    void downloadComm(int type, String broadcastName,
                                       String serverName,String functionName,
                                       String fileId, String fileName);

    /**
     * 下载文件-直接路径下载
     * broadcastName 获取结果广播名称
     * filePath 文件路径
     *
     */
    void downloadFile(String broadcastName,String fileUrl,String filePath);



    /**
     * 下载文件-使用老的前置下载方式
     * @param broadcastName
     * @param type        0不适用进度参数  1使用进度参数
     * @param serverName
     * @param fileId
     * @param fileName
     */
    void downloadFile2(String broadcastName,int type,
                                     String serverName,String fileId,String fileName);


    /**
     * 上传照片 多图使用;号进行分割,imgs和filePahts 暂时都传递文件路径
     *
     * @param broadcastName 广播名称
     * @param app_no        工单号
     * @param app_type      工单类型
     * @param imgs          照片信息(多数据集)
     * @param filePaths     文件路径(多数据集)
     */
    void upFileImg(String broadcastName, String app_no,
                              String app_type, String imgs, String filePaths);


    /**
     * 取消http访问
     * broadcastName 获取结果广播名称
     *
     */
    void cancle(String broadcastName);

    /**
     * 子应用登录
     * broadcastName 获取结果广播名称
     *
     */
    void getLoginHandsetDate(String broadcastName);

    /**
     * 子应用登录注销
     * broadcastName 获取结果广播名称
     *
     */
    void logout(String broadcastName);


    void upFileImg2(String broadcastName, String app_no,
                                       String app_type, String imgs, String filePaths);


    void saveGQH(String broadcastName, String meetingId,String orderIds, String filePaths);

    void setModuleInfo(String broadcastName,String assetNo, String deviceType, String oldModuleNum,
                                  String oldModuleTypeNo, String oldModuleFactoryName, String newModuleTypeNo, String newModuleFactoryNo,
                                  String newModuleFactoryName, String newModuleNum, String reason, String images, String testResult,
                                  String operUSERNO, String operDT);

    void setModuleInfoNew(String broadcastName,String assetNo, String deviceType, String oldModuleNum,
                                String oldModuleTypeNo, String oldModuleFactoryName, String newModuleTypeNo, String newModuleFactoryNo,
                                String newModuleFactoryName, String newModuleNum, String reason, String images, String testResult,
                                String operUSERNO, String operDT);

    void saveSBZC( String broadcastName, String input, String filePaths);

/**
     * 上传图文
     * @param context
     * @param broadcastName
     * @param method 方法名
     * @param servername  服务名
     * @param prams  参数
     * @param images 图片
     */
    void uploadPramsAndImages(String broadcastName,String method, String servername, String prams,String images);

  /**
     * 下载文件-使用老的前置下载方式
     * @param broadcastName
     * @param type        0不适用进度参数  1使用进度参数
     * @param serverName
     * @param fileId
     * @param fileName
     * @param progress
     */
    void downloadFile3(String broadcastName,int type,
                                     String serverName,String fileId,String fileName,String progress,boolean isCancle);

      /**
         * 下载文件-使用老的前置下载方式
         * @param serverName 服务名称
         * @param params 参数集合
         * @param serverName 服务名称
         * @param webMethod 下载服务端使用的方法名称
         */
    void downloadFileReal(String broadcastName,String params,String serverName,String webMethod);
         /**
         * 访问网络协议
         * requestParams 请求参数——json格式
         *  listener 请求成功失败的监听
         */
   void postDataCallback(String methodName,String requestParams,IHttpCallbackInterface listener);
   /**
        * 上传图文 无广播
        * @param context
        * @param method 方法名
        * @param servername  服务名
        * @param prams  参数
        * @param images 图片
        */
       void uploadPramsAndImagesNoBroadcast(String method, String servername, String prams,String images,IHttpCallbackInterface listener);
       /**
                       * 上传照片 多图使用;号进行分割,imgs和filePahts 暂时都传递文件路径
                       * 无广播方式
                       * @param app_no        工单号
                       * @param app_type      工单类型
                       * @param imgs          照片信息(多数据集)
                       * @param filePaths     文件路径(多数据集)
                       */
        void upFileImgNoBroadcast(String app_no,String app_type, String imgs, String filePaths,IHttpCallbackInterface listener);
               /**
                * 第三方厂家访问网络协议
                * requestParams 请求参数——json格式
                *  listener 请求成功失败的监听
                *  上行通讯服务获取uid
                */
         void otherPostDataCallback(String methodName,String requestParams,IHttpCallbackInterface listener);
           /**
            * 下载人脸相关文件-使用老的前置下载方式
            * @param broadcastName
            * @param type        0不适用进度参数  1使用进度参数
            * @param serverName
            * @param fileId
            * @param fileName
            */
        void downloadUpfileFile(String broadcastName,int type,String serverName,String fileId,String fileName);
           /**
            * 上传文件
            */
        void uploadFile(String methodName,String param,String filePaths,IHttpCallbackInterface listener);


    /**
     * 下载apk相关方法
     */
    void stopDownload();

    void downloadAll();

    void add(String url, String filePath, String fileName, long contentLength, long blockLength, IDownloadListener listener);

    void download(String requestParms);
   /**
    * 订阅一个主题，后台根据主题推送消息
    */
   boolean subscribe(String topic);

   /**
    * 向对应的主题，发布一条消息。
    * topic  主题名
    * content 发布的内容
    */
   boolean publish(String topic, String content);

   /**
    * 取消订阅一个主题
    */
   boolean unsubscribe(String topic);
        /**
        * 访问网络协议
        * requestParams 请求参数——json格式
        *  listener 请求成功失败的监听
        *  增加请求头信息
        */
   void postHeaderDataCallback(String methodName,String header,String requestParams,IHttpCallbackInterface listener);

   /**
    * 分块上传文件
    */
   void blockUploadFile(String filePath,String uri,IUploadListener listener);
}
